压缩WinSxS文件夹

1. 关闭其它在运行的程序,以管理员权限运行cmd,按顺序输入以下指令

2. 停止并禁用Windows Installer和Windows Module Installer服务

sc stop msiserver
sc stop TrustedInstaller

sc config msiserver start= disabled
sc config TrustedInstaller start= disabled

3. 备份winsxs目录的ACLs(存取权限表,一会儿要还原的)

icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS.acl" /t

4. 获得WinSxS和其子目录的所有权

takeown /f "%WINDIR%\WinSxS" /r

5. 获得winsxs目录的所有权限

icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t

6. 压缩winsxs

compact /c /s:"%WINDIR%\WinSxS" /i

7. 把WinSxS和其子目录的所有权还给TrustedInstaller

icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t

8. 还原winsxs目录的ACLs

icacls "%WINDIR%" /restore "%WINDIR%\WinSxS.acl"

9. 删掉备份的WinSxS.acl文件

del "%WINDIR%\WinSxS.acl"

10. 还原Windows Installer和Windows Module Installer服务为手动

sc config msiserver start= demand
sc config TrustedInstaller start= demand
winsxs目录下的文件都是系统要用的各种库文件,system32下存放了这些dll的最新的版本,所有老版本的dll都放在winsxs下。所以只要你安装程序或者更新补丁,system32下的文件就会被更新,而同时winsxs就会增加一些旧文件,所以我们的C盘空间就在持续不断地减少,直到磁盘容量不够,被迫重装系统为止,如果你足够幸运,可以直接安装最新的SP的话,或许可以为winsxs节约一点微薄的空间。 winsxs目录下的不同版本文件都存放在特定命名规则的目录下,比如 C:\Windows\winsxs>dir msil_microsoft.transactions.bridge.resources* 驱动器 C 中的卷是 vista 卷的序列号是 989F-EFF3 C:\Windows\winsxs 的目录 msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6000.16386_zh-cn_1cde5a17d78fb5ec msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6000.16716_zh-cn_1cd75781d79605cf msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6000.20876_zh-cn_060fb27df137fddf msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6001.18000_zh-cn_1cb2dbd3d7e75eb8 msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6001.18106_zh-cn_1cb252ffd7e7f8cf msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6001.22221_zh-cn_05e71ebbf18d0b5e msil_microsoft.transactions.bridge.resources_b03f5f7f11d50a3a_6.0.6002.18005_zh-cn_1c8e610fd838f2cc 0 个文件 0 字节 7 个目录 5,382,139,904 可用字节 这里的各个部分用下划线分割,其中我们关注的是“6.0.6000.16386”部分,它表示旧文件的版本号,之前则是唯一文件标识,之后是语言,最后部分是散列值(防止名字冲突)。 本工具的设计思想就是删除所有的旧文件。所有满足如下全部条件的目录都会被移动到C:\Windows\winsxs_del目录中。 1.存在比自身更新的版本 2.本身不是最新版本 运行工具前的C盘剩余空间: 所列文件总数: 4473 个文件 3,336,376,627 字节 7655 个目录 326,840,320 可用字节 C:\Windows\winsxs_del> 运行工具并且执行命令 for /d %v in (%SystemRoot%\winsxs_del\*.*) do rd /s /q %v 删除所有可以删除的无用文件之后的剩余空间: 所列文件总数: 52 个文件 7,555,048 字节 131 个目录 5,383,979,008 可用字节 C:\Windows\winsxs_del> 工具源代码如下:请保存为winsxs_clear.bat即可。所有不再需要的文件会移动到c:\windows\winsxs_del目录中,可以直接进行删除。 执行时候,务必请使用“管理员”权限。 1@echo off 2rem 获取windows版本 3set move_dir=%SystemRoot%\winsxs_del 4if not exist %move_dir%\nul md %move_dir% 5set winver=none 6FOR /F "eol=; tokens=4* delims=] " %%i in ('ver') do set winver=%%i 7if "%winver%" == "none" got
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值